#ifndef pkm_renderdata_h
#define pkm_renderdata_h

namespace k2graphics
{

class RenderData
{
public:
	int renderTarget;

	unsigned char* byteData;
	int* intData;
	float* floatData;
	void* customData;

	int numBytes;
	int numInts;
	int numFloats;

	int maxBytes;
	int maxInts;
	int maxFloats;

	RenderData(int target, int maxB, int maxI, int maxF);
	~RenderData();

	void pushByte(unsigned char b);
	void pushInt(int i);
	void pushFloat(float f);

	// these are safer to use than manually setting since they use error checking...
	void setByte(int index, unsigned char b);
	void setInt(int index, int i);
	void setFloat(int index, float f);

	void debugPrintData();
	void genTestData(int s);
};

}
#endif
